import ResultInterface from "../interface/Result";
import {HTTP_STATE_CODE} from "./const";

/**
 * 用于集体返回的结果集
 * 这里我们不再定义类了,而是直接使用方法
 *
 * @name: Result
 * @data: 2024/4/3 9:48
 */
//这里我们一开始想用ts中的方法重载,但是用不起来,所以这里暂时就不用了
// function Result(code:number):ResultInterface<any>;
// function Result(msg:string):ResultInterface<any>;
// function Result(code:number,msg:string):ResultInterface<any>;

function Result<T>(result:ResultInterface<T>):ResultInterface<T>{
  return{
    code:result.code?result.code:HTTP_STATE_CODE.ERROR,
    msg:result.msg?result.msg:"",
    data:result.data?result.data:null
  }
}



export default Result;
